using System.Windows;
using System.Windows.Controls;
using System.Windows.Media;

namespace GraphMyCode.Client.Controls
{
	public class ImageButton : Button
	{
		public static readonly DependencyProperty DisabledImageProperty =
			DependencyProperty.Register("DisabledImage", typeof(ImageSource), typeof(ImageButton), new PropertyMetadata(null));

		public static readonly DependencyProperty MouseOverImageProperty =
			DependencyProperty.Register("MouseOverImage", typeof(ImageSource), typeof(ImageButton), new PropertyMetadata(null));

		public static readonly DependencyProperty NormalImageProperty =
			DependencyProperty.Register("NormalImage", typeof(ImageSource), typeof(ImageButton), new PropertyMetadata(null));

		public static readonly DependencyProperty PressedImageProperty =
			DependencyProperty.Register("PressedImage", typeof(ImageSource), typeof(ImageButton), new PropertyMetadata(null));


		public ImageButton()
		{
			DefaultStyleKey = typeof(ImageButton);
		}

		public ImageSource NormalImage
		{
			get { return (ImageSource)GetValue(NormalImageProperty); }
			set { SetValue(NormalImageProperty, value); }
		}

		public ImageSource MouseOverImage
		{
			get { return (ImageSource)GetValue(MouseOverImageProperty); }
			set { SetValue(MouseOverImageProperty, value); }
		}

		public ImageSource DisabledImage
		{
			get { return (ImageSource)GetValue(DisabledImageProperty); }
			set { SetValue(DisabledImageProperty, value); }
		}

		public ImageSource PressedImage
		{
			get { return (ImageSource)GetValue(PressedImageProperty); }
			set { SetValue(PressedImageProperty, value); }
		}
	}
}